package day05;

// 插入一个字符串构成回文串的方法数

import java.util.Scanner;

// 正确版本
public class Main1 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str1 = in.nextLine();
        String str2 = in.nextLine();
        // 开始进行回文判断
        int count = palindrome(str1,str2);
        System.out.println(count);
    }

    // 回文统计：
    // 将str2插入str1的每一个位置（但是str1要有临时变量来代替）
    private static int palindrome(String str1, String str2) {
        int count = 0;

        int len = str1.length();
        // 注意这里前后都可以取到：前后都可以插入！
        for (int i = 0; i <= len; i++) {
            // 每一次遍历代表每一次插入不同的位置，也就是每次都要有最开始传入的str1
            // 每插入一次就进行一次逆置+判断

            StringBuffer str = new StringBuffer(str1);
            // 然后进行插入
            str.insert(i,str2);
            // 逆置，但是不能直接逆置，因为直接逆置之后str本身会改变
            // 后面在进行回文串判断时比较的就是str与逆置后的字符串，所以这里需要一个临时变量进行逆置操作！
            StringBuffer tmp = new StringBuffer(str); // 注意这里创建方法，不是直接=str！
            tmp.reverse();
            // 进行回文判断:使用String判断！
            if(str.toString().equals(tmp.toString())) {
                count++;
            }
        }
        return count;
    }
}



// 错误方法：
//import java.util.Scanner;
//
//public class Main1 {
//    public static void main(String[] args) {
//        String str;
//        char ch;
//        Scanner in = new Scanner(System.in);
//        str = in.nextLine();
//        ch = in.next().charAt(0); // 输入字符
//
//    }
//    private int findCount(String str, char ch) {
//        for (int i = 0; i <= str.length(); i++) { // 插入位置
//            for (int j = i; j < str.length(); j++) {
//                char tmp = str.charAt(j);
//            }
//        }
//        return -1;
//    }
//}
